Social delivery of iptv streams

ABSTRACT

Delivery of internet protocol television (IPTV) content, in one aspect, may comprise monitoring social media streams. Trends may be identified from the social media streams, the trends describing interests in IPTV content by location, time and subscriber types. Information may be received associated with a schedule for delivering the IPTV content. The trends may be compared with the received information to predict an expected demand of the IPTV content at the time at different locations and by different subscriber types. Resources may be reallocated to meet the expected demand in delivering the IPTV content to the different subscriber types at the different locations and the time.

FIELD

The present application relates generally to computers, and computerapplications, and more particularly to load balancing in data streamingsuch as IPTV streaming.

BACKGROUND

Internet Protocol television (IPTV) is a system that delivers televisioncontent using Internet Protocol. IPTV systems provide users with greaterflexibility and choice of content including Video-on-Demand (VoD), liveTV, video recording capabilities, time-shifted television (TSTV),Subscription VoD services, High Definition (HD) subscription, etc., ascompared to legacy cable networks.

This service requires precisely orchestrated technologies to deliverquality viewing experience. At the same time the subsystem is requiredto maintain an optimized allocation of network resources to deliverpromised quality of service for all users and to balance the load ofvideo streams to prevent infrastructure faults or system failures.

One drawback of live and on demand service capabilities is dynamic loadshifting depending on the demands based on location, time and subscribertype. This non-deterministic behavior of user demands may result innetwork congestion, poor quality of service, discontinuous telecast,link failure and even subsystem failure which hampers the servicequality and degrades the user experience.

BRIEF SUMMARY

A method for delivery of internet protocol television (IPTV) content, inone aspect, may comprise monitoring social media streams. The method mayalso comprise identifying trends from the social media streams, thetrends describing interests in IPTV content by location, time andsubscriber types. The method may further comprise receiving informationassociated with a schedule for delivering the IPTV content. The methodmay also comprise comparing the trends with the received information topredict an expected demand of the IPTV content at the time at differentlocations and by different subscriber types. The method may furthercomprise reallocating resources to meet the expected demand indelivering the IPTV content to the different subscriber types at thedifferent locations and the time.

A system for delivery of internet protocol television (IPTV) content, inone aspect, may comprise a hardware processor and a storage device. Thehardware processor may be operable to monitor social media streams. Thehardware processor may be further operable to identify trends from thesocial media streams, the trends describing interests in IPTV content bylocation, time and subscriber types. The hardware processor may befurther operable to store the trends in the storage device. The hardwareprocessor may be further operable to receive information associated witha schedule for delivering the IPTV content. The hardware processor maybe further operable to compare the trends with the received informationto predict an expected demand of the IPTV content at the time atdifferent locations and by different subscriber types. The hardwareprocessor may be further operable to reallocate resources to meet theexpected demand in delivering the IPTV content to the differentsubscriber types at the different locations and the time.

A computer readable storage medium storing a program of instructionsexecutable by a machine to perform one or more methods described hereinalso may be provided.

Further features as well as the structure and operation of variousembodiments are described in detail below with reference to theaccompanying drawings. In the drawings, like reference numbers indicateidentical or functionally similar elements.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a flow diagram illustrating an overview of a method in oneembodiment of the present disclosure.

FIG. 2 is a diagram that illustrates capturing and analyzing of socialstream in one embodiment of the present disclosure.

FIG. 3 is a diagram that shows a processing of the data uncoveredrelated to the identified trends in one embodiment of the presentdisclosure.

FIG. 4 is a diagram that shows a processing of the predicted demand inone embodiment of the present disclosure.

FIG. 5 is a diagram illustrating distribution of resources in oneembodiment of the present disclosure.

FIG. 6 is a diagram illustrating planning of network resource allocationin one embodiment of the present disclosure.

FIG. 7 is another diagram illustrating planning for allocation ofresources in one embodiment of the present disclosure.

FIG. 8 is a diagram that illustrates storing data in demand and resourceallocation plan in one embodiment of the present disclosure.

FIG. 9 is a diagram that illustrates an overall process of IPTV deliveryof the present disclosure in one embodiment.

FIG. 10 is a flow diagram illustrating a process of capturing socialmedia information and delivering IPTV data to users based on thecaptured information in one embodiment of the present disclosure.

FIG. 11 illustrates a schematic of an example computer or processingsystem that may implement an IPTV delivery system in one embodiment ofthe present disclosure.

DETAILED DESCRIPTION

A methodology in one embodiment provides for network load balancing andoptimized allocation of network resources in three-dimensionalspace—location, time and subscription type—for example, in IPTV streamdelivery. For instance, a large number of users demanding the samestream or schedule to view a live stream at the same time may createunbalanced load on the network. A large number of users in the samelocality tuning to the same stream such as a soccer match may createcongestion on the link serving that locality. Different class ofsubscribers demanding the same video stream could hamper the quality ofservice (QOS) for high definition subscribers as the stream load may bemore than the stream delivery system can handle.

The methodology of the present disclosure in one embodiment may leveragecontents available on online social media for optimizing the networkresource allocation and balancing the load on particular network stream.Currently known systems and methods do not account for suchtime-location-subscription based optimization and quality assuranceservice at such time of resource crisis. They do not leverage theinformation already present online to predict the future trends and actaccordingly for optimizing the system and maximizing the QOS to avoidproblems.

If there is knowledge that there may be a QoS problem based on currentuser viewing trends then corrective measures may be taken based on thisinformation. For example, at the time of a soccer match, the IPTVservice provider may allocate more resources to a specific locationwhere the likelihood of viewing the match is more to ensure betterperformance for all and QOS assurance for class subscribers. Thislocation time based resource allocation may help in user satisfactionand may also save the congestion and failure of the infrastructure inthe worst case.

Likewise, these trends may also help to direct the IPTV systemadministrators for scalability, renovation and redundancy ininfrastructure to ensure a high quality service and maximizing QOS basedon time, duration, social status, subscription class, location,demographic dividend and popular trends.

The methodology of the present disclosure in one aspect may address theneed of real time specific content monitoring, with ability to filterout time and location based trends for performing demand basedrenovation in the infrastructure and resource allocation inself-optimizing IPTV system using the social contents available online.In one embodiment, such knowledge (e.g., time, location, subscriptiontype trends for demand) is made to surface in real time and is kept upto date in real time to allow service provider identify the patterns ofissues related to location and time based congestion in resources and toperform predictive remedial actions proactively.

The methodology disclosed herein may be implemented in forms of acomputer-implemented method, a system, and a computer device that storesand executes computer or machine executable instructions for performingthe methodology.

In one aspect, the methodology may include a social content monitoringsystem and method that predicts the content being watched on IPTVsubsystem from social and content trends online, for example, on socialnetworking, micro-blogging, search engine and media sites, with thenotion that the more interest there is in a given content, then the morelikelihood that the masses will tune in. From such trends the deliverysystem may calibrate and refactor delivery subsystems aroundpredictions, for example, optimizing the system for maximized QOS andadvanced prediction with a view to avoiding problems. The log of suchevents occurring in real time may be kept up to date to allow serviceprovider identify the patterns of issues related to location and timebased congestion in resources for implementing adequate scalability,renovation and redundancy infrastructure, for example, to ensure highquality service and maximized QOS for all subscribers in the future.

Currently, IPTV systems use the internet as backbone for transmission ofits contents to the users whose quality relies on the resourcesallocated to the user and the channel condition. In general the qualityof a link is assessed on the basis of a few channel parameters likebandwidth, delay, jitter and packet loss ratio. One or more of theseparameters are interdependent and worsening of even one could lead to alow QOS. For IPTV system, QOS is a major parameter for performanceevaluation and is used as a quality assurance for its subscribers.

In one embodiment of the present disclosure, e.g., to assure improvedQOS for subscribers at all times in all locations, not only the physicalresources but the information available online may be leveraged to guidethe allocation of those physical resources. In the present disclosure inone embodiment, the internet with its vast pool of information and realtime data, serves as a central node for decision making via content ofinterest monitoring and filtering popular trends from social networking,micro-blogging, other social media, and search engines.

The following describes an example use case. Consider that there is asoccer match between home team and old time rival visitors which appealsto not only local masses but also tourists. People start searching forplaces near-by soccer clubs, pubs, social clubs and open live arena toenjoy the match. They start updating their interest in the match and thelocation of interest to watch the match, for example on social mediasuch as on social networking and micro blogging sites. Simultaneously,high definition subscribers plan to watch the match independently athome to enjoy the broad spectrum, high quality video service that theyhave subscribed to. IPTV service provider filters the trends of interestappearing online, based on location and time and identifies the patternof bandwidth usage in a particular area at a time. This knowledgeenables the service to reallocate the bandwidth distribution andredirect extra bandwidth to areas with high probability of demand andviewing to avoid congestion on the link. This not only may prevent theviolation of service level agreement with its high definitionsubscribers but also may provide better user satisfaction and avoid thepossibility of link or subsystem failure. This allows the serviceprovider to plan the future trends too, e.g., for providing qualityinfrastructure for upcoming popular events that will be streamed, forexample, through predictions using the current trends of similar events.

In one aspect, using online content monitoring for load balancing inIPTV networks may provide the following advantages, but not limited toonly those: Time-location-subscriber based three dimensional space modelof decision making for allocation of resources to users based on demandand prediction by online content-of-interest monitoring largely servesto predict and thereby avoid the problem of network congestion and QOSassurance; Redirection of resources based on online data may, not onlysave redundancy of resources but also may assure user satisfaction andservice level business agreements; Additionally it may provide a widerange of ideas to the service provider for installation and upgrade oftop class infrastructure with priority for content based demands infuture; It may guide system administrators to think upon additionalredundancy to avoid failure of infrastructure at the time of network andresource crisis—this may be done by analyzing the patterns in the usageof specific contents such as sports versus movies versus fashionchannels in specific areas. The methodology of the present disclosure inone embodiment may guide the service provider to identify the patternsof load balancing and resource usage based on online contents to predictthe future usage and renovate the infrastructure accordingly. One ormore proactive actions may be taken based on the prediction of thelikelihood of a QoS problem.

FIG. 1 is a flow diagram illustrating an overview of a method in oneembodiment of the present disclosure. Generally, trends identified fromsocial streams with IPTV content may be compared to identify demandbased on location and time. Resources may be allocated based on thedemand. The method may provide for an enhanced quality of service loadbalancing in IPTV networks whereby social content is analyzed toidentify viewing trends. Those trends may be compared with IPTV contentto identify demand both on time and location. This comparison may beused to provide sufficient allocation of resources to meet that demand.Referring to FIG. 1, at 102, social media data or stream may bemonitored or captured for content. For example, such data may be madeavailable via a web server that provides social media capabilities. Thesocial media data or stream that is monitored and captured may be fromsocial networking sites, micro-blogging sites, news streams, searchengines and other media sites. In one embodiment, the processing at 102may include (a) collecting the social media data in real time and (b)analyzing the data in order to ascertain the insights, e.g., predictingfuture demand for IPTV services. Known methods and products may beutilized for collecting social media data.

At 104, the content (social media stream) is analyzed for location andtime to identify trends, for example, to determine from the content andpredict at which location and what time frame certain IPTV content maybe in demand. Thus, for example, the identified trends may describe ortell interests in IPTV content by location, time and subscriber types.At 106, scheduled IPTV content may be determined or received. Forexample, an IPTV content delivery service provider may have a scheduledlist of IPTV content for delivery; e.g., this schedule would be part ofthe service providers (SP) advertised program guide. IPTV in one aspectmay support Video-on-Demand (VoD), live TV, video recordingcapabilities, time-shifted television (TSTV), subscription VoD services,High Definition subscription, and/or others. A subscriber of IPTVservice may select subscriptions for high definition (HD), lowdefinition (LD), Internet, Video-On-Demand, and/or others.

At 108, the identified trends are compared to the scheduled IPTVcontent, for example, to predict an expected demand for the IPTV contentat the time at different locations and by different subscriber types.For example, for each (or a sub-set) IPTV program that is advertised aspart of the SP's program guide, the demand is measured in terms oflocation, the number of people at those locations and the breakdown ofthe type of subscriber at those locations. Based on this comparison, inone aspect, the optimum distribution and allocation of resources can bedetermined for each program.

At 110, resources may be allocated and/or reallocated to meet theexpected demand in delivering the IPTV content to the differentsubscriber types at the different locations and the time. The resourcesto meet the expected demand may consider factors such as scalability,renovation, redundancy infrastructure to ensure high quality of service,and factors for maximizing QOS for the current and/or futuresubscribers. For example, reallocating resources may includeredistributing network and computer resources, e.g., bandwidthcapability in networks that deliver the IPTV content to the differentlocations. Redistributing bandwidth is an example resource that can bereallocated. Other resources that could be reallocated or added mayinclude memory, CPU, additional network nodes, and others. A methodologyof the present disclosure in one embodiment may provide for optimumdelivery of IPTV content.

FIG. 2 is a diagram that illustrates capturing and analyzing of socialstream in one embodiment of the present disclosure. Social media data,e.g., social networking site posts, micro-blogging posts, and other suchcommunication data among users may be retrieved or received from a webserver 202 that provides, for example, over the Internet. The web servermay be one that provides such social media capabilities and/or which canprovide social stream content. For instance, the current popular trends,status and content of general interest from the Internet may be capturedvia social networking, micro-blogging, search engine's popular search.For instance, data analytics techniques and mechanism can be used toretrieve and monitor this ‘moving data’. In one embodiment, datarelating to the IPTV program guide is filtered, and various analysistechniques such as pattern analysis, sentiment analysis are used todetermine trends and demand. As shown at 204, the social media streamdata may be analyzed, for example, filtered for content of interest andpopular trends. A database or storage device 206, for example, may storethe current trends and corresponding IPTV program video/service indemand.

FIG. 3 is a diagram that shows a processing of the data uncoveredrelated to the identified trends in one embodiment of the presentdisclosure. For instance, the captured data 302 may be filtered withpreferences to time, location and content to be broadcasted on IPTVnetwork as shown at 304. For example, the IPTV service provider has apublicized schedule of programs (Program Guide) for each day/channel. Asub-set (or all) of this Program Guide may be used as the initial filter(e.g., Sport Channel 1, Time 8 PM, International Rugby match between Xand Y teams). This is then used to determine the filter in which toretrieve the social media data. This process provides the idea of thefuture demand of certain video stream in some specific locations at somespecific times by a group of specific users.

FIG. 4 is a diagram that shows a processing of the predicted demand inone embodiment of the present disclosure. For example, based on the datafrom Internet for predicting the demand of video according totime-location-subscriber Type 402, the availability of resourcesdepending on current demand from users and predicted demand estimated at402, may be checked for at 404. For example, a check is made for thecurrent demand and availability of resources for the predicted demand ofthe video stream to check the feasibility and specifications of networkand physical resource required for it. For example, an IPTV applicationserver 406 may have information associated with the resources and thecurrent demand.

FIG. 5 is a diagram illustrating distribution of resources in oneembodiment of the present disclosure. Based on the predicted demand, forexample, plans may be created for the distribution or reallocation ofall resources to cater the needs of predicted demand as well as maintainthe promised quality of service to all subscribers. For instance, anIPTV application server 502 may allocate resources for a group of usersat public place 504, Internet streaming users 506, High Definitionsubscribers 508, VOD streaming users 510, and/or others. In one aspect,if the resources are available and could be reallocated, then resourcesmay be first provided to high definition subscribers and then nextallocated for normal subscribers and internet streamers.

FIG. 6 is a diagram illustrating planning of network resource allocationin one embodiment of the present disclosure. For instance, as shown at602 and 604, additional resources may be allocated where there is highor more demand.

FIG. 7 is another diagram illustrating planning for allocation ofresources in one embodiment of the present disclosure. In oneembodiment, if all the resources required for predicted demand are notavailable, then plans may be made in advance to provide extra resourcesto all users so as to avoid congestion and any condition of crisis atthe moment of broadcasting. For example, as shown at 702 and 704,redirection or extra network resource allocation or redirection may beplanned for unavailable resources.

FIG. 8 is a diagram that illustrates storing data in demand and resourceallocation plan in one embodiment of the present disclosure. In oneaspect, a backup of the data in demand and resource requirement andplanning 802 may be stored for future references, for example, by anIPTV application server 804 or the like. Pattern recognition of ondemand video system may be stored, e.g., to avoid any crisis and totrain the network for self optimized resource allocation. Thus, thesuccess (or otherwise) of the current algorithm for distribution ofresources based on predicted demand may be measured. Over time, thesedata can be used to ‘train’ the algorithm in order to improve it.

FIG. 9 is a diagram that illustrates an overall process of IPTV deliveryof the present disclosure in one embodiment. In one aspect, the streamin demand may be broadcasted to all users including high definitionsubscribers, normal class subscribers, internet streamers, on-demandvideo subscribers and group subscribers without any congestion and withassured quality of service. FIG. 9 shows a general process of flow ofinformation from Web server to users and reallocation of resources atIPTV application server depending on filtered web trends andcontent-of-interest. At 902, social media content is received, forexample, from a web server that provide social media services or anotherweb server. At 904, the received social media content is analyzed andfiltered. The filtering outputs content of interest and/or populartrends among users, e.g., current trends. The trends are stored in adatabase or a storage device at 906. The trends may identify the time,location and different types of subscribers for video content demand orIPTV content demand. Information associated with such video or IPTVcontent may be also stored. At 908 the data stored is processed to makeplans for decisions for reallocation of resources for different networklinks from IPTV application server 910. Shown at 910, based on one ormore allocation and/or reallocation plans, resources for streaming IPTVcontent may be allocated. For instance, different network resourcecapacities may be allocated to different types of users and subscribers912, 914, 916, 918.

FIG. 10 is a flow diagram illustrating a process of capturing socialmedia information and delivering IPTV data to users based on thecaptured information in one embodiment of the present disclosure. At1002, popular trends from social media, for example, social networkingand micro-blogging sites may be captures. This may be performed, forexample, by receiving data comprising use communication or post contentfrom such social media sites or another service, and analyzing the data.At 1004, the received data may be analyzed. Data analysis, for example,may utilize pattern recognition techniques and/or others to recognizepopular content or among user communications. Data analytics techniquesand mechanism (e.g., including those for structured and unstructureddata) can be used to retrieve and monitor this ‘moving data’. Forinstance, initially data relating to the IPTV program guide may befiltered, then e.g., subsequently various analysis techniques such aspattern analysis, sentiment analysis may be used to determine trends anddemand. The data analysis may filter out events related to watching onTV or video.

At 1006, the filtered events related to watching TV or video may befiltered or categorized based on location, time and subscription type.

At 1008, requests for the video on demand for the same content in thesame or different areas are checked. This information, e.g., would beknown to the IPTV service provider in advance. Examples include pre-paidsubscriptions or pay-per-view bookings.

At 1010, it is checked whether there is sufficient infrastructureavailable for providing services to all in filtered area of interest.The formation filtered at 1006 identifies or predicts amount of demandfor certain content at identified location and time, and for example, bya subscriber type. The information acquired at 1008 also identifies theamount of demand for the same content at different locations. Theavailable resources or allocated resources for providing the content tothose locations at the specified time to the different subscribers areidentified, and it is determined whether those available resources aresufficient to provide the service of delivering the content to all theidentified locations and user. For example, from this analysis, thenumber of people, the type of subscriber and the location for aparticular program is known. Based on this information, it can bedetermined what resources in terms of network bandwidth, processingpower, jitter, delay, loss will be required to meet that demand. Alsobased on the IPTV service provider's in-house monitoring systems, thecurrent performance that is being delivered and the extra capacityavailable can be determined. Therefore, based on the current performanceand current available capacity, and the predicted future performancerequired, the extra resources required to meet the predicted demand maybe determined.

At 1012, if it is determined that the available resources are notsufficient, additional planning may be performed to renovate and/orscale infrastructure for sufficient services. The processing proceeds to1014.

If it is determined that the available resources are sufficient at 1010,the processing also proceed to 1014. At 1014, resources may be allocatedor reallocated for high definition subscribers. For example, additionalbandwidth or sufficient bandwidth may be allocated for providing thecontent to the high definition subscribers.

At 1016, resources may be allocated or reallocated for othersubscribers, for example, to assure QOS and service level agreement(SLA).

At 1018, using the allocated or reallocated resources, the content isdelivered to all users.

FIG. 11 illustrates a schematic of an example computer or processingsystem that may implement an IPTV delivery system in one embodiment ofthe present disclosure. The computer system is only one example of asuitable processing system and is not intended to suggest any limitationas to the scope of use or functionality of embodiments of themethodology described herein. The processing system shown may beoperational with numerous other general purpose or special purposecomputing system environments or configurations. Examples of well-knowncomputing systems, environments, and/or configurations that may besuitable for use with the processing system shown in FIG. 11 mayinclude, but are not limited to, personal computer systems, servercomputer systems, thin clients, thick clients, handheld or laptopdevices, multiprocessor systems, microprocessor-based systems, set topboxes, programmable consumer electronics, network PCs, minicomputersystems, mainframe computer systems, and distributed cloud computingenvironments that include any of the above systems or devices, and thelike.

The computer system may be described in the general context of computersystem executable instructions, such as program modules, being executedby a computer system. Generally, program modules may include routines,programs, objects, components, logic, data structures, and so on thatperform particular tasks or implement particular abstract data types.The computer system may be practiced in distributed cloud computingenvironments where tasks are performed by remote processing devices thatare linked through a communications network. In a distributed cloudcomputing environment, program modules may be located in both local andremote computer system storage media including memory storage devices.

The components of computer system may include, but are not limited to,one or more processors or processing units 12, a system memory 16, and abus 14 that couples various system components including system memory 16to processor 12. The processor 12 may include a module 10 that performsthe methods described herein. The module 10 may be programmed into theintegrated circuits of the processor 12, or loaded from memory 16,storage device 18, or network 24 or combinations thereof.

Bus 14 may represent one or more of any of several types of busstructures, including a memory bus or memory controller, a peripheralbus, an accelerated graphics port, and a processor or local bus usingany of a variety of bus architectures. By way of example, and notlimitation, such architectures include Industry Standard Architecture(ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA)bus, Video Electronics Standards Association (VESA) local bus, andPeripheral Component Interconnects (PCI) bus.

Computer system may include a variety of computer system readable media.Such media may be any available media that is accessible by computersystem, and it may include both volatile and non-volatile media,removable and non-removable media.

System memory 16 can include computer system readable media in the formof volatile memory, such as random access memory (RAM) and/or cachememory or others. Computer system may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 18 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(e.g., a “hard drive”). Although not shown, a magnetic disk drive forreading from and writing to a removable, non-volatile magnetic disk(e.g., a “floppy disk”), and an optical disk drive for reading from orwriting to a removable, non-volatile optical disk such as a CD-ROM,DVD-ROM or other optical media can be provided. In such instances, eachcan be connected to bus 14 by one or more data media interfaces.

Computer system may also communicate with one or more external devices26 such as a keyboard, a pointing device, a display 28, etc.; one ormore devices that enable a user to interact with computer system; and/orany devices (e.g., network card, modem, etc.) that enable computersystem to communicate with one or more other computing devices. Suchcommunication can occur via Input/Output (I/O) interfaces 20.

Still yet, computer system can communicate with one or more networks 24such as a local area network (LAN), a general wide area network (WAN),and/or a public network (e.g., the Internet) via network adapter 22. Asdepicted, network adapter 22 communicates with the other components ofcomputer system via bus 14. It should be understood that although notshown, other hardware and/or software components could be used inconjunction with computer system. Examples include, but are not limitedto: microcode, device drivers, redundant processing units, external diskdrive arrays, RAID systems, tape drives, and data archival storagesystems, etc.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements, if any, in the claims below areintended to include any structure, material, or act for performing thefunction in combination with other claimed elements as specificallyclaimed. The description of the present invention has been presented forpurposes of illustration and description, but is not intended to beexhaustive or limited to the invention in the form disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the invention.The embodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

1.-10. (canceled)
 11. A computer readable storage medium storing aprogram of instructions executable by a machine to perform a method ofdelivery of internet protocol television (IPTV) content, the methodcomprising: monitoring social media streams; identifying trends from thesocial media streams, the trends describing interests in IPTV content bylocation, time and subscriber types; receiving information associatedwith a schedule for delivering the IPTV content; comparing the trendswith the received information to predict an expected demand of the IPTVcontent at the time at different locations and by different subscribertypes; and reallocating resources to meet the expected demand indelivering the IPTV content to the different subscriber types at thedifferent locations and the time.
 12. The computer readable storagemedium of claim 11, wherein the identifying trends from the social mediastreams comprises filtering the social media streams to events relatedto watching video content by the location, the time and the subscribertypes.
 13. The computer readable storage medium of claim 12, wherein thereceiving information associated with a schedule for delivering the IPTVcontent comprises receiving information associated with video on demandrequests for the IPTV content in the different locations.
 14. Thecomputer readable storage medium of claim 11, wherein the reallocatingresources comprises redistributing network and computer resources innetworks that deliver the IPTV content to the different locations. 15.The computer readable storage medium of claim 11, further comprisingplanning to renovate an infrastructure for meeting the expected demand.16. The computer readable storage medium of claim 11, further comprisingdelivering the IPTV content via the reallocated resources.
 17. A systemfor delivery of internet protocol television (IPTV) content, comprising:a hardware processor; and a storage device, the hardware processoroperable to monitor social media streams, the hardware processor furtheroperable to identify trends from the social media streams, the trendsdescribing interests in IPTV content by location, time and subscribertypes, the hardware processor further operable to store the trends inthe storage device, the hardware processor further operable to receiveinformation associated with a schedule for delivering the IPTV content,the hardware processor further operable to compare the trends with thereceived information to predict an expected demand of the IPTV contentat the time at different locations and by different subscriber types,and the hardware processor further operable to reallocate resources tomeet the expected demand in delivering the IPTV content to the differentsubscriber types at the different locations and the time.
 18. The systemof claim 17, wherein the hardware processor is operable to identifytrends from the social media streams by at least filtering the socialmedia streams to events related to watching video content by thelocation, the time and the subscriber types.
 19. The system of claim 18,wherein the information associated with a schedule for delivering theIPTV content comprises information associated with video on demandrequests for the IPTV content in the different locations.
 20. The systemclaim 17, wherein the hardware processor is operable to reallocateresources by at least redistributing network and computer resources innetworks that deliver the IPTV content to the different locations.